// components/auth/index.js
// 通过Component函数创建自定义组件实例
Component({
  options: {
    // 启用多插槽支持
    multipleSlots: true
  },
  /**
   * 组件的属性列表=> 类似vue的props
   */
  properties: {
    abc: {
      // 类型
      type: Boolean,
      // 默认值
      value: false
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    msg: 'hi 自定义组件'
  },

  /**
   * 组件的方法列表
   */
  methods: {
    changeData() {
      this.setData({
        msg: 'hi 我是vue',
        // 可以直接修改父组件传递数据（没有单向数据流限制）
        abc: false
      })
    },
    go() {
      // vue触发自定义事件=》this.$emit('事件名',data)
      this.triggerEvent('test', this.data.msg)
    }
  },

  // 组件生命周期
  lifetimes: {
    attached() {
      // 在组件实例进入页面节点树时执行=>mounted
      console.log('组件挂载了')
    },
    detached: function () {
      // 在组件实例被从页面节点树移除时执行=> destoryed
      console.log('组件销毁了')
    },
  },
})
